TSTP Solution File: SEV381^5 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEV381^5 : TPTP v6.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n186.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:34:07 EDT 2014

% Result   : Timeout 300.04s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEV381^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n186.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 09:01:06 CDT 2014
% % CPUTime  : 300.04 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula (<kernel.Constant object at 0xc0bef0>, <kernel.DependentProduct object at 0x8f7e60>) of role type named cGVB_APPLY
% Using role type
% Declaring cGVB_APPLY:(fofType->(fofType->fofType))
% FOF formula (<kernel.Constant object at 0x8f4bd8>, <kernel.DependentProduct object at 0xc0a248>) of role type named cGVB_DOMAIN
% Using role type
% Declaring cGVB_DOMAIN:(fofType->fofType)
% FOF formula (<kernel.Constant object at 0xc0ba28>, <kernel.DependentProduct object at 0xc0aab8>) of role type named cGVB_IN
% Using role type
% Declaring cGVB_IN:(fofType->(fofType->Prop))
% FOF formula (<kernel.Constant object at 0xc0b5a8>, <kernel.DependentProduct object at 0xc0a998>) of role type named cGVB_FUNCTION
% Using role type
% Declaring cGVB_FUNCTION:(fofType->Prop)
% FOF formula (<kernel.Constant object at 0xc0bea8>, <kernel.DependentProduct object at 0xc0ab00>) of role type named cGVB_M
% Using role type
% Declaring cGVB_M:(fofType->Prop)
% FOF formula (<kernel.Constant object at 0xc0b5a8>, <kernel.DependentProduct object at 0xc0ab00>) of role type named cGVB_ITERATE
% Using role type
% Declaring cGVB_ITERATE:(fofType->(fofType->Prop))
% FOF formula (forall (Xf:fofType), (((and ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))) of role conjecture named cGVB_THM15B_2
% Conjecture to prove = (forall (Xf:fofType), (((and ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (Xf:fofType), (((and ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))))']
% Parameter fofType:Type.
% Parameter cGVB_APPLY:(fofType->(fofType->fofType)).
% Parameter cGVB_DOMAIN:(fofType->fofType).
% Parameter cGVB_IN:(fofType->(fofType->Prop)).
% Parameter cGVB_FUNCTION:(fofType->Prop).
% Parameter cGVB_M:(fofType->Prop).
% Parameter cGVB_ITERATE:(fofType->(fofType->Prop)).
% Trying to prove (forall (Xf:fofType), (((and ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))))
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref0 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) x)) (cGVB_M x))) (cGVB_FUNCTION x))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x)))) (((eq fofType) ((cGVB_APPLY x) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eta_expansion00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (((eta_expansion0 Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) x)) (cGVB_M x))) (cGVB_FUNCTION x))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x)))) (((eq fofType) ((cGVB_APPLY x) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eta_expansion00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (((eta_expansion0 Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep0 (fun (x6:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x6:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x6:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found (eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep0 (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) ((cGVB_APPLY Xf) x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: b:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b))
% Found ((eq_ref0 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b))
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType))) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b))
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType))) as proof of (((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P b)))
% Found (and_rect00 (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P b)
% Found ((and_rect0 (P b)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P b)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P b)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P b)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P b)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P b)
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) ((cGVB_APPLY Xf) x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x4)))) (((eq fofType) ((cGVB_APPLY x4) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x4) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found (fun (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1) as proof of (P f)
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1) as proof of (((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f)))
% Found (and_rect00 (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1)) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1)) as proof of (P f)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1)) as proof of (P f)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) (x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> x1)) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found ((eq_ref0 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType))) as proof of (((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f))
% Found (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType))) as proof of (((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->(P f)))
% Found (and_rect00 (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x0:(((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))->(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->P0)))=> (((((and_rect ((and (cGVB_M Xf)) (cGVB_FUNCTION Xf))) ((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))) P0) x0) x)) (P f)) (fun (x0:((and (cGVB_M Xf)) (cGVB_FUNCTION Xf)))=> (((eq_ref (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)))) as proof of (P f)
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep0 (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x8:fofType)=> Prop)) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))):(((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (fun (x:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) x)) (cGVB_M x))) (cGVB_FUNCTION x))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x)))) (((eq fofType) ((cGVB_APPLY x) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eta_expansion_dep00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) x)) (cGVB_M x))) (cGVB_FUNCTION x))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x)))) (((eq fofType) ((cGVB_APPLY x) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eta_expansion_dep00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (ex fofType)) as proof of (P (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))):(((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) (fun (x:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) x)) (cGVB_M x))) (cGVB_FUNCTION x))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x)))) (((eq fofType) ((cGVB_APPLY x) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eta_expansion_dep00 (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) as proof of (((eq (fofType->Prop)) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and ((and ((and ((cGVB_IN x) (cGVB_DOMAIN Xf))) ((cGVB_IN x) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) x)) x))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x2)))) (((eq fofType) ((cGVB_APPLY x2) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x2) Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: b:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: b:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 ((cGVB_APPLY Xf) x0)):(((eq fofType) ((cGVB_APPLY Xf) x0)) ((cGVB_APPLY Xf) x0))
% Found (eq_ref0 ((cGVB_APPLY Xf) x0)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x0)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x0)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x0)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x0)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x0)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x0)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found x1:((ex fofType) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Instantiate: f:=(fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(fofType->Prop)
% Found x1 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) ((cGVB_APPLY Xf) x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) ((cGVB_APPLY Xf) x)) x)))
% Found eq_ref000:=(eq_ref00 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))
% Found (eq_ref00 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eq_ref000:=(eq_ref00 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))
% Found (eq_ref00 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xg:fofType)=> ((and ((and ((and ((cGVB_ITERATE Xf) Xg)) (cGVB_M Xg))) (cGVB_FUNCTION Xg))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN Xg)))) (((eq fofType) ((cGVB_APPLY Xg) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY Xg) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) b)
% Found eq_ref000:=(eq_ref00 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))
% Found (eq_ref00 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eq_ref000:=(eq_ref00 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))))
% Found (eq_ref00 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eq_ref0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) ((cGVB_APPLY Xf) Xy)) Xy)))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))->(P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eq_ref00 P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found ((eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))->(P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eq_ref00 P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found ((eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))->(P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eq_ref00 P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found ((eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))->(P0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))
% Found (eq_ref00 P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found ((eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) P0) as proof of (P1 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found eq_ref00:=(eq_ref0 ((cGVB_APPLY Xf) x2)):(((eq fofType) ((cGVB_APPLY Xf) x2)) ((cGVB_APPLY Xf) x2))
% Found (eq_ref0 ((cGVB_APPLY Xf) x2)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x2)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x2)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x2)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x2)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x2)) b)
% Found ((eq_ref fofType) ((cGVB_APPLY Xf) x2)) as proof of (((eq fofType) ((cGVB_APPLY Xf) x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found eq_ref00:=(eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) ((cGVB_APPLY Xf) x1)) x1))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx))))))))
% Found (eq_ref0 ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (((eq Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APPLY x1) Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) b)
% Found ((eq_ref Prop) ((and ((and ((and ((cGVB_ITERATE Xf) x1)) (cGVB_M x1))) (cGVB_FUNCTION x1))) ((ex fofType) (fun (Xx:fofType)=> ((and ((and ((and ((cGVB_IN Xx) (cGVB_DOMAIN Xf))) ((cGVB_IN Xx) (cGVB_DOMAIN x1)))) (((eq fofType) ((cGVB_APPLY x1) Xx)) Xx))) (forall (Xz:fofType), ((((eq fofType) ((cGVB_APP
% EOF
%------------------------------------------------------------------------------